package com.example.entity;

import lombok.Data;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;

import java.math.BigDecimal;
import java.time.LocalDate;

@Data
//@TableName("daily_expense") // 数据库表名
@Document(indexName = "daily_expense_index") // ES索引名
public class DailyExpense {

//    @TableId(type = IdType.AUTO)
    @org.springframework.data.annotation.Id
    private String id; // 主键

    @Field(type = FieldType.Keyword)
    private String expenseNo; // 费用单号（如：EXP20240718001）

    @Field(type = FieldType.Keyword)
    private String type; // 费用类型（办公用品/差旅费/水电费/物业费等）

    @Field(type = FieldType.Text, analyzer = "ik_max_word")
    private String description; // 费用描述（含大量汉字）

    @Field(type = FieldType.Keyword)
    private BigDecimal amount; // 金额（元）

    @Field(type = FieldType.Date)
    private LocalDate expenseDate; // 发生日期
//
    @Field(type = FieldType.Keyword)
    private String department; // 所属部门

    @Field(type = FieldType.Keyword)
    private String applicant; // 申请人（姓名）

    @Field(type = FieldType.Keyword)
    private String status; // 状态（待审批/已审批/已报销/驳回）

    @Field(type = FieldType.Text, analyzer = "ik_max_word")
    private String remark; // 备注（审批意见等）
}
